/**
 * Project Name:fastPlat
 * File Name:ArticleService.java
 * Package Name:com.fast.cms.service.article
 * Date:2014年12月17日下午1:47:14
 * Copyright (c) 2014, lsflu@126.com All Rights Reserved.
 *
*/

package com.fast.cms.service.article;

import java.util.List;
import java.util.Map;

import com.fast.base.dao.JpaDao;
import com.fast.base.dao.JdbcDao;
import com.fast.base.db.page.PageView;
import com.fast.cms.model.article.Article;
import com.fast.cms.web.form.ArticleListForm;
import com.fast.cms.web.form.CheckArticleForm;

/**
 * ClassName:ArticleService <br/>
 * 用途: 文章服务 <br/>
 * 开发人员：lushuifa  http://lushuifa.iteye.com/
 * 邮箱:lsflu@126.com
 * @version  
 * @since    JDK 1.6
 * @see
 * Date:     2014年12月17日 下午1:47:14 <br/> 	 
 */
public interface ArticleService extends JpaDao,JdbcDao {
	
	/**
	 * 新增阅读量
	 * @param id
	 */
	void updateReadCount(int id);


	/**
	 * 作用：查询文章列表<br/>
	 */
	List<Article> getArticleList();

	/**
	 * 分页获取文章列表
	 * @return PageView<Article>
	 */
	PageView<Article> getArticleList(ArticleListForm articleListForm);
	
	/**
	 * 生成静态页面
	 * @param article
	 */
	void genArticleDetailHtmlPage(Article article);

	/**
	 * 批量生成静态页面
	 * @param articleList
	 */
	void batchGenArticleDetailHtmlPage(List<Article> articleList);

	/**
	 * 将所有文章生成静态页面
	 */
	void batchGeAllArticleHtmlPage();

	/**
	 * 查询资讯列表，并限制数量
	 * @param articleTypeId 资讯分类
	 * @param limitSize 限制数量
	 * @param selectType
	 * @return
	 */
	List<Map<String, Object>> getArticleListForLimit(String articleTypeId, int limitSize, String selectType);

	/**
	 * 保存与更新
	 * @param article
	 * @return
	 */
	Article saveOrUpdateArticle(Article article);


	/**
	 * 审核文章
	 * @param checkArticleForm
	 * @return
	 */
	boolean checkArticle(CheckArticleForm checkArticleForm);


	/**
	 * 查询待审批的数据和
	 * @param adminId
	 * @return
	 */
	int queryCheckArticleCount(int adminId);
	
}

